package com.zp.drug.service;

import com.zp.common.myBatis.core.page.PageQuery;
import com.zp.common.myBatis.core.page.TableDataInfo;
import com.zp.drug.api.bo.DrugInfoBo;
import com.zp.drug.api.bo.DrugPriceBo;
import com.zp.drug.api.vo.DrugPriceVo;

import java.util.Collection;
import java.util.List;

/**
 * 药品价表Service接口
 *
 * @author zhang peng
 * @ date 2023-06-05
 */
public interface IDrugPriceService {

    /**
     * 查询药品价表
     */
    DrugPriceVo queryById (String id);

    /**
     * 查询药品价表列表(分页)
     */
    TableDataInfo<DrugPriceVo> queryPageList (DrugPriceBo bo, PageQuery pageQuery);

    /**
     * 查询药品价表列表(不分页)
     */
    List<DrugPriceVo> queryList (DrugPriceBo bo);

    /**
     * 修改药品价表
     */
    Boolean insertByBo (DrugPriceBo bo);

    /**
     * 修改药品价表
     */
    Boolean updateByBo (DrugPriceBo bo);

    /**
     * 校验并批量删除药品价表信息
     */
    Boolean deleteWithValidByIds (Collection<String> ids, Boolean isValid);

    /**
     * 字典维护修改价表
     *
     * @param bo
     * @return
     */
    Boolean updatePriceList (DrugInfoBo bo);

    /**
     * @return
     * @Author zhangpeng
     * @Description //停止或恢复供应
     * @ date 22:26 2023/6/10
     * @Param * @param null
     **/
    boolean supplySignStopOrRestore (DrugPriceBo bo);

    /**
     * @return
     * @Author zhangpeng
     * @Description //药品价表停用或启用
     * @ date 22:26 2023/6/14
     * @Param * @param null
     **/
    boolean stopPrice (DrugPriceBo bo);
}
